e.Toscana Compliance 
Request for Comments: 91
Del: 25/02/2007 
Categoria: Applicativa
Destinatari: Regione Toscana, Comuni, Amministrazioni locali

	Evento Revoca Medico (tipo evento 0005) 

	
	
	
	
Indice
======
1. Contesto di riferimento	
2. Obiettivi	
3. Analisi 
4. Prodotti attesi
5. Bibliografia





1. Contesto di riferimento
==========================

Nel contesto del potenziamento dei servizi offerti dalla Rete Telematica Regionale Toscana (RTRT),  stato realizzato un servizio che consente ai Comuni e alle ASL connessi alla RTRT di integrare, in modo largamente automatizzato e con una sensibile riduzione dei tempi di latenza, alcune funzioni di gestione degli assistiti sociosanitari regionali, in particolare gli eventi relativi a persone fisiche residenti nel territorio regionale (quali nascite, morti, trasferimenti, ecc.) e le loro implicazioni sui servizi di assistenza sociosanitaria con particolare riferimento alla assegnazione del medico di base.





2. Obiettivi
============

Il sistema realizza il servizio richiesto integrando nellambito della RTRT i sistemi informativi dei Domini Applicativi coinvolti e cio: i Servizi Anagrafici dei Comuni, Aziende Sanitarie Locali (ASL) e Regione; questultima costituir anche il fornitore del servizio.

Il sistema  stato realizzato adottando una architettura funzionale e tecnica rispondente ai requisiti e alle specifiche definite dallAIPA per la realizzazione di servizi di cooperazione applicativa basati su eventi.

Gli eventi GIADA (Gestione Integrata dellAnagrafe Degli Assistibili sociosanitari) generati dalle ASL sono costituiti da una serie di blocchi logici, componibili in base alla specifica tipologia di evento. Alcuni blocchi sono sempre presenti, mentre altri sono indicati solamente in base a specifiche tipologie di evento. Nel seguito viene descritto levento .

L'obiettivo principale e' quello di permettere l'invio del flusso SAA ad eventi eliminando la necessit di invio massivo.

I vantaggi che questo meccanismo permette di raggiungere sono :
a. Invio in tempo reale delle variazioni anagrafiche
b. Riduzione dell'intervento umano





3. Analisi
==========

Questo evento viene pubblicato dallASL in cui il cittadino  assistito quando sussiste la necessit di indicare che il medico prescelto ha revocato lassistenza allassistito in oggetto. In questo caso non  compresa la recessione del legame di assistenza da parte dellassistito. Se questultimo non vuole pi essere assistito dal proprio medico far una variazione del medico. 

Il medico viene revocato ad un cittadino assistito nei seguenti casi:
1) per ricusazione: il medico ha espresso  la volont di non assistere pi l'assistito.
2) per ricusazione d'ufficio: il medico si  trasferito o ha cessato la sua attivit
3) per superati limiti dellet pediatrica: lassistito ha superato let massima per cui non ha pi diritto allassistenza pediatrica.

La pubblicazione dellevento Revoca Medico comporta il cambio di stato della persona: 
1) Domiciliato - Residente (domicilio sanitario e medico nella stessa ASL di residenza): da Assistito ad Assistibile Non Assistito.
2) Domiciliato - non Residente (domicilio sanitario e medico nella stessa ASL in cui non  residente): da Assistito a Cancellato
3) Derogato (medico in ASL confinante a quella di domicilio sanitario in cui lassistito  residente): da Assistito a Cancellato per la ASL del medico, invariato per la ASL di domicilio sanitario (Assistibile non Assistito)
4) Derogato (medico in ASL confinante a quella di domicilio sanitario in cui lassistito non  residente): da Assistito a Cancellato per la ASL del medico, da Assistibile non Assistito a Cancellato per la ASL di domicilio sanitario, invariato per la ASL di domicilio sanitario (Assistibile non assistito)

Le informazioni gestite dallevento sono relative a:
- dati del medico da revocare

I blocchi costituenti levento nuovo assistibile sono:
- dati generali dellevento
- anagrafe assistibile
- dati sanitari assistibile
- indirizzo assistibile
- scelta medico
- medico
- revoca medico

Gli schema XML che definiscono il formato dei messaggi scambiati dal client con i servizi esposti daL web-service sono riportati sotto:

------------------------
* XSD RevocaMedico.xsd *
------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="EventoGiada.xsd"/>
	<xs:include schemaLocation="../AnagrafeAssistibile.xsd"/>
	<xs:include schemaLocation="../DatiSanitariAssistibile.xsd"/>
	<xs:include schemaLocation="../IndirizzoAssistibile.xsd"/>
	<xs:include schemaLocation="../SceltaMedico.xsd"/>
	<xs:include schemaLocation="../Medico.xsd"/>
	<xs:include schemaLocation="../RevocaMedico.xsd"/>
	<xs:include schemaLocation="../CertificazioneComunale.xsd"/>
	<xs:element name="EventoRevocaMedico">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="EventoGiada">
					<xs:sequence>
						<xs:element ref="AnagrafeAssistibile"/>
						<xs:element ref="DatiSanitariAssistibile"/>
						<xs:element ref="IndirizzoAssistibile"/>
						<xs:element ref="SceltaMedico"/>
						<xs:element ref="Medico"/>
						<xs:element ref="RevocaMedico"/>
						<xs:element ref="CertificazioneComunale" minOccurs="0"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
</xs:schema>

-----------------------
* XSD EventoGiada.xsd *
-----------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="../DatiGeneraliEvento.xsd"/>
	<xs:complexType name="EventoGiada" abstract="true">
		<xs:annotation>
			<xs:documentation>Elemento astratto identificativo dell'evento</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="DatiGenerali"/>
		</xs:sequence>
		<xs:attribute name="IDUniversaleSIL" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>ID universale attribuito allevento da parte del SIL mittente</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="IDUniversaleNAL" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>ID universale attribuito allevento. Viene generato automaticamente sul NAL</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
</xs:schema>

------------------------------
* XSD DatiGeneraliEvento.xsd *
------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by Mike (Tyson) -->
<xs:schema targetNamespace="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="DatiGenerali">
		<xs:annotation>
			<xs:documentation>Contieni i dati generali dell'evento</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Tipo"/>
				<xs:element ref="FlagCertificazioneComunale"/>
				<xs:element ref="USLInviante"/>
				<xs:element ref="TimeStampNAL"/>
				<xs:element ref="TimeStampSIL"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Tipo" type="eventoType">
		<xs:annotation>
			<xs:documentation>Indica la tipologia di evento</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="FlagCertificazioneComunale" type="flagCertificazioneType">
		<xs:annotation>
			<xs:documentation>Indica la presenza di atto comunale che certifica i dati dellevento</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="USLInviante" type="uslType">
		<xs:annotation>
			<xs:documentation>Codice della USL che pubblica levento</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="TimeStampNAL" type="TimeStamp">
		<xs:annotation>
			<xs:documentation>Data e ora di generazione dellevento, al momento dellacquisizione nel NAL</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="TimeStampSIL" type="TimeStamp">
		<xs:annotation>
			<xs:documentation>Data e ora di generazione dellevento nel Sistema Informativo Locale dellASL</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="TimeStamp">
		<xs:annotation>
			<xs:documentation>Elemento TimeStamp Generico</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="Data"/>
			<xs:element ref="Ora"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="Data" type="xs:date" nillable="false">
		<xs:annotation>
			<xs:documentation>Elemento generico data</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Ora" type="xs:time" nillable="false">
		<xs:annotation>
			<xs:documentation>Elemento Generico Ora</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

-------------------------------
* XSD AnagrafeAssistibile.xsd *
-------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="AnagrafeAssistibile">
		<xs:annotation>
			<xs:documentation>Elemento root dell'anagrafe dell'assistito</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Nome"/>
				<xs:element ref="Cognome"/>
				<xs:element ref="DatiNascita"/>
				<xs:element ref="Cittadinanza"/>
				<xs:element ref="Sesso"/>
				<xs:element ref="CodiceFiscale"/>
				<xs:element ref="ValiditaCodiceFiscale"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Nome" type="stringaMaiuscola">
		<xs:annotation>
			<xs:documentation>Nome dellassistibile. Sono ammessi solamente caratteri maiuscoli, apostrofo e spazio di separazione per cognomi multipli.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Cognome" type="stringaMaiuscola">
		<xs:annotation>
			<xs:documentation>Cognome dellassistibile. Sono ammessi solamente caratteri maiuscoli, apostrofo e spazio di separazione per cognomi multipli.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="DatiNascita">
		<xs:annotation>
			<xs:documentation>Dati di nascita dell'assistibile</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Comune"/>
				<xs:element ref="Stato"/>
				<xs:element ref="DataNascita"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Comune" type="codistatComuneType">
		<xs:annotation>
			<xs:documentation>Comune di nascita. Codice comune valido, ovvero presente nella tabella dei comuni. Sono ammessi anche i valori 999999 = assistibili non nato in Italia e 000000 = informazione non rilevata</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Stato" type="codStatoType">
		<xs:annotation>
			<xs:documentation>Codice dello stato straniero di nascita, se non nato in Italia. Codice stato valido, ovvero presente nella tabella degli stati. E ammesso anche il valore 000 = informazione non rilevata</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Cittadinanza" type="codStatoType">
		<xs:annotation>
			<xs:documentation>Cittadinanza dellassistibile. Codice stato valido, ovvero presente nella tabella degli stati. E ammesso anche il valore 000 = informazione non rilevata</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="DataNascita" type="dataNullableType">
		<xs:annotation>
			<xs:documentation>Data di nascita dellassistibile. Data valida nel formato ggmmaaaa. E ammesso il valore 00000000 = informazione non disponibile.Let calcolata tra data di nascita ed annorif non deve essere superiore a 124 anni</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Sesso" type="sessoType">
		<xs:annotation>
			<xs:documentation>Sesso dellassistibile. Unici valori ammessi1= maschio, 2 = femmina, 0 = informazione non disponibile</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="CodiceFiscale">
		<xs:annotation>
			<xs:documentation>Codice fiscale dellassistibile. Codice fiscale valido. E ammesso anche il valore 0000000000000000 = informazione non disponibile</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:simpleContent>
				<xs:extension base="codiceFiscaleNonRilevatoType">
					<xs:attribute name="validita" type="boolean10Type" use="required">
						<xs:annotation>
							<xs:documentation>Unici valori ammessi0 = codice fiscale non valicato dallagenzia delle entrate1 = codice fiscale valicato dallagenzia delle entrate</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:extension>
			</xs:simpleContent>
		</xs:complexType>
	</xs:element>
	<xs:element name="ValiditaCodiceFiscale" type="boolean10Type">
		<xs:annotation>
			<xs:documentation>Flag di validita' del codice fiscale derivato dall'Agenzia delle Entrate</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

-----------------------------------
* XSD DatiSanitariAssistibile.xsd *
-----------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by Mike (Tyson) -->
<xs:schema targetNamespace="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="DatiSanitariAssistibile">
		<xs:annotation>
			<xs:documentation>Elemento root dati sanitari dell'assistibile</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="CodAziendale"/>
				<xs:element ref="UslResidenza"/>
				<xs:element ref="CodiceSanitario"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="CodAziendale" type="xs:string">
		<xs:annotation>
			<xs:documentation>Codice interno che lazienda attribuisce allassistibile. </xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="UslResidenza" type="uslType">
		<xs:annotation>
			<xs:documentation>Codice USL di residenza dellassistibile. Codice usl valido, ovvero presente nella tabella delle aziende_sanitarie nazionali o nella tabella degli stati.</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="CodiceSanitario">
		<xs:annotation>
			<xs:documentation>Elemento padre dei dati del codice sanitario dellassistibile</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Numero"/>
				<xs:element ref="Decorrenza"/>
				<xs:element ref="Scadenza"/>
				<xs:element ref="Cessazione"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Numero">
		<xs:annotation>
			<xs:documentation>Codice sanitario dellassistibile. Codice alfanumerico allineato a sinistra di lunghezza obbligatoria di 11 caratteri.Sono ammessi anche i valori 00000000000 = informazione non disponibile e              =  tessera non rilasciata</xs:documentation>
		</xs:annotation>
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:length value="11"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:element>
	<xs:element name="Decorrenza" type="dataNullableType">
		<xs:annotation>
			<xs:documentation>Data decorrenza del codice sanitario dellassistibile. Data valida nel formato ggmmaaaa.Sono ammessi anche i valori 00000000 = informazione non disponibile e            =  tessera non rilasciata</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Scadenza" type="dataNullableType">
		<xs:annotation>
			<xs:documentation>Data di scadenza del codice sanitario dellassistibile. Data valida nel formato ggmmaaaa.Sono ammessi anche i valori 00000000 = informazione non disponibile e            =  tessera non rilasciata</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Cessazione" type="dataNullableSpaceType">
		<xs:annotation>
			<xs:documentation>Data di cessazione del codice sanitario dellassistibile. Data valida nel formato ggmmaaaa.E ammessi anche il valore           =  non si  verificato levento cessazione</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

--------------------------------
* XSD IndirizzoAssistibile.xsd *
--------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="IndirizzoAssistibile">
		<xs:annotation>
			<xs:documentation>Elemento root dell'indirizzo dell'assistibile. I dati relativi allindirizzo di residenza e di domicilio dellassistibile costituiscono un blocco che viene indicato in tutti gli eventi GIADA.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="RegioneResidenza"/>
				<xs:element ref="ComuneResidenza"/>
				<xs:element ref="IndirizzoResidenza"/>
				<xs:element ref="ComuneDomicilio"/>
				<xs:element ref="IndirizzoDomicilio"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="RegioneResidenza" type="regioneType">
		<xs:annotation>
			<xs:documentation>Regione di residenza. Codice regione valido, ovvero presente nella tabella delle regioni. E ammesso anche il valore 999 = utente non residente in Italia</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="ComuneResidenza" type="codistatComuneType">
		<xs:annotation>
			<xs:documentation>Comune di residenza. Codice comune valido, ovvero presente nella tabella dei comuni. Sono ammessi anche i valori 999999 = utente non residente in Italia000000 = informazione non rilevata</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="IndirizzoResidenza" type="xs:string">
		<xs:annotation>
			<xs:documentation>Indirizzo di residenza</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="ComuneDomicilio" type="codistatComuneType">
		<xs:annotation>
			<xs:documentation>Comune di domicilio sanitario. Codice comune valido, ovvero presente nella tabella dei comuni. Sono ammessi anche i valori 999999 = utente non residente in Italia000000 = informazione non rilevata</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="IndirizzoDomicilio" type="xs:string">
		<xs:annotation>
			<xs:documentation>Indirizzo di domicilio sanitario. Caratteri alfanumerici allineati a sinistra.Obbligatorio</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

------------------------
* XSD SceltaMedico.xsd *
------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="SceltaMedico">
		<xs:annotation>
			<xs:documentation>Elemento root dei dati relativi alla scelta del medico.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="DataScelta"/>
				<xs:element ref="DataDecorrenza"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="DataScelta" type="dataNullableZeroType">
		<xs:annotation>
			<xs:documentation>Data della scelta del medico. Data valida nel formato ggmmaaaa.E ammesso anche il valore 00000000 = non  stata fatta la scelta del medico</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="DataDecorrenza" type="dataNullableZeroType">
		<xs:annotation>
			<xs:documentation>Dati di decorrenza della scelta del medico.  Data valida nel formato ggmmaaaa.E ammesso anche il valore 00000000 = non  stata fatta la scelta del medico</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

------------------
* XSD Medico.xsd *
------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="Medico">
		<xs:annotation>
			<xs:documentation>Elemento root dei dati relativi al medico vengono forniti contestualmente ad alcune tipologie di evento GIADA</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="Tipologia"/>
				<xs:element ref="CodRegionale"/>
				<xs:element ref="CodFiscale"/>
				<xs:element ref="Regione"/>
				<xs:element ref="UslMedico"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="Tipologia" type="medicoType">
		<xs:annotation>
			<xs:documentation>Tipologia del medico (generico/pediatra). Unici valori ammessi01 = medico generico, 02 = medico pediatra, 00 = non effettuata la scelta del medico</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="CodRegionale" type="codiceRegionaleType">
		<xs:annotation>
			<xs:documentation>Codice regionale del medico. Sono ammessi anche i valori 000000 = assistibile non in carico ad un medico, 666666 = medico convenzionato con una azienda non toscana</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="CodFiscale" type="codiceFiscaleNonRilevatoType">
		<xs:annotation>
			<xs:documentation>Codice fiscale del medico. Codice fiscale valido. E ammesso anche il valore 0000000000000000 = assistibile non in carico ad un medico</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="Regione" type="regioneType">
		<xs:annotation>
			<xs:documentation>Regione in cui opera il medico. Codice regione valido, ovvero presente nella tabella delle regioni. E ammesso anche il valore 000 = assistibile non in carico ad un medico</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="UslMedico" type="uslType">
		<xs:annotation>
			<xs:documentation>La USL in cui opera il medico. Codice usl valido, ovvero presente nella tabella delle aziende_sanitarie. E ammesso anche il valore 000 = assistibile non in carico ad un medico</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

----------------------------------
* XSD CertificazioneComunale.xsd *
----------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by Mike (Tyson) -->
<xs:schema targetNamespace="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="CertificazioneComunale">
		<xs:annotation>
			<xs:documentation>Elemento root dei dati relativi allatto comunale ricevuto dalla ASL.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="CodiceComune"/>
				<xs:element ref="TipoEventoComunale"/>
				<xs:element ref="NumeroProtocollo"/>
				<xs:element ref="DataProtocollo"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="CodiceComune" type="codistatComuneType">
		<xs:annotation>
			<xs:documentation>Codice del comune che certifica i dati</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="TipoEventoComunale" type="eventoComuneType">
		<xs:annotation>
			<xs:documentation>Tipo di evento comunale</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="NumeroProtocollo" type="xs:string">
		<xs:annotation>
			<xs:documentation>Numero protocollo dellatto comunale</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="DataProtocollo" type="dataType">
		<xs:annotation>
			<xs:documentation>Data protocollo dellatto comunale</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

------------------------
* XSD RevocaMedico.xsd *
------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="RevocaMedico">
		<xs:annotation>
			<xs:documentation>Elemento root dei dati relativi alla revoca da parte di un medico del proprio assistito.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="DataRevoca"/>
				<xs:element ref="CausaRevoca"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="DataRevoca" type="dataNullableZeroType">
		<xs:annotation>
			<xs:documentation>Data della revoca del medico. Data valida nel formato ggmmaaaa.E ammesso anche il valore 00000000 = non  stata fatta la scelta del medico</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="CausaRevoca" type="revocaType">
		<xs:annotation>
			<xs:documentation>Causa della revoca del medico. Unici valori ammessi1, 2, 3E ammesso anche il valore 0 = non si  verificata la revoca</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

---------------------
* XSD TypeGiada.xsd *
---------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:simpleType name="eventoType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="0001"/>
			<xs:enumeration value="0002"/>
			<xs:enumeration value="0003"/>
			<xs:enumeration value="0004"/>
			<xs:enumeration value="0005"/>
			<xs:enumeration value="0006"/>
			<xs:enumeration value="0007"/>
			<xs:enumeration value="0008"/>
			<xs:enumeration value="0009"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="cancellazioneType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="0001"/>
			<xs:enumeration value="0002"/>
			<xs:enumeration value="0003"/>
			<xs:enumeration value="0004"/>
			<xs:enumeration value="0005"/>
			<xs:enumeration value="0006"/>
			<xs:enumeration value="0007"/>
			<xs:enumeration value="0008"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="eventoComuneType">
		<xs:restriction base="xs:string">
			<xs:enumeration value="0001"/>
			<xs:enumeration value="0002"/>
			<xs:enumeration value="0003"/>
			<xs:enumeration value="0004"/>
			<xs:enumeration value="0005"/>
			<xs:enumeration value="0006"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="codiceFiscaleNonRilevatoType">
		<xs:annotation>
			<xs:documentation>Codice fiscale valido con l'aggiunta del caso 0000000000000000</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="16"/>
			<xs:pattern value="[A-Z]{6}[0-9]{2}[A-Z][0-9]{2}[A-Z][0-9]{3}[A-Z]|(0){16}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="boolean10Type">
		<xs:annotation>
			<xs:documentation>Tipo che ammette solo valori 0 e 1</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="medicoType">
		<xs:annotation>
			<xs:documentation>Tipologia del medico. Ammette i valori 01= medico generico, 02=medico pediatra, 00=non effetuata scelta medico</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="00"/>
			<xs:enumeration value="01"/>
			<xs:enumeration value="02"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="dataType">
		<xs:annotation>
			<xs:documentation>Accetta date dal 1900 al 2299 nel formato ggmmccaa</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="8"/>
			<xs:pattern value="[0-3][1-9][0-1][1-9]19[0-9][0-9]|[0-3][1-9][0-1][1-9]2[0-2][0-9][0-9]"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="dataNullableZeroType">
		<xs:annotation>
			<xs:documentation>Estende dataType ed accetta anche la data 00000000</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="dataType">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="00000000"/>
				</xs:restriction>
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="dataNullableSpaceType">
		<xs:annotation>
			<xs:documentation>Estende dataType ed accetta anche la data '       '</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="dataType">
			<xs:simpleType>
				<xs:restriction base="xs:string">
					<xs:enumeration value="        "/>
				</xs:restriction>
			</xs:simpleType>
		</xs:union>
	</xs:simpleType>
	<xs:simpleType name="dataNullableType">
		<xs:annotation>
			<xs:documentation>Estende dataType ed accetta anche la data 00000000 e '       '</xs:documentation>
		</xs:annotation>
		<xs:union memberTypes="dataNullableSpaceType dataNullableZeroType"/>
	</xs:simpleType>
	<xs:simpleType name="codistatComuneType">
		<xs:annotation>
			<xs:documentation>Codice istat comune. Accetta anche i valori 999999 e 000000</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="6"/>
			<xs:pattern value="\d{6}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="codStatoType">
		<xs:annotation>
			<xs:documentation>Codice dello stato</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="3"/>
			<xs:pattern value="\d{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="sessoType">
		<xs:annotation>
			<xs:documentation>Tipo che ammette valori 0,1,2</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
			<xs:enumeration value="2"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="regioneType">
		<xs:annotation>
			<xs:documentation>Codice Regione. Accetta anche 999</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="3"/>
			<xs:pattern value="\d{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="stringaMaiuscola">
		<xs:annotation>
			<xs:documentation>Accetta solo caratteri maiuscoli, spazio e apostrofo</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:pattern value="(\p{Lu}\s')*"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="codiceRegionaleType">
		<xs:annotation>
			<xs:documentation>Codice regionale del medico</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="6"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="uslType">
		<xs:annotation>
			<xs:documentation>Codice Regione. Accetta anche 999</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:length value="3"/>
			<xs:pattern value="\d{3}"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="revocaType">
		<xs:annotation>
			<xs:documentation>Causale di revoca. Ammette i valori 1, 2, 3 e 0</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
			<xs:enumeration value="2"/>
			<xs:enumeration value="3"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="sospensioneType">
		<xs:annotation>
			<xs:documentation>Causale della sospensione. Ammette i valori 0, 1, 2, 3, 4 e 5</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
			<xs:enumeration value="2"/>
			<xs:enumeration value="3"/>
			<xs:enumeration value="4"/>
			<xs:enumeration value="5"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="defaultErrorType">
		<xs:annotation>
			<xs:documentation>Ammette solo valori 0=nessun errore, 1= dato errato o mancante</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="mainErrorType">
		<xs:annotation>
			<xs:documentation>Ammette solo valori 0 = nessun errore, 1 = dato errato o mancante e 9 = scartato</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="0"/>
			<xs:enumeration value="1"/>
			<xs:enumeration value="9"/>
		</xs:restriction>
	</xs:simpleType>
	<xs:simpleType name="flagCertificazioneType">
		<xs:annotation>
			<xs:documentation>Indica la presenza di atto comunale che certifica i dati dellevento</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:string">
			<xs:enumeration value="S"/>
			<xs:enumeration value="N"/>
		</xs:restriction>
	</xs:simpleType>
</xs:schema>

mentre quello di risposta:

--------------------------------
* XSD RevocaMedicoRisposta.xsd *
--------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="RispostaEventoGiada.xsd"/>
	<xs:include schemaLocation="../AnagrafeAssistibileRisposta.xsd"/>
	<xs:include schemaLocation="../DatiSanitariAssistibileRisposta.xsd"/>
	<xs:include schemaLocation="../IndirizzoAssistibileRisposta.xsd"/>
	<xs:include schemaLocation="../SceltaMedicoRisposta.xsd"/>
	<xs:include schemaLocation="../MedicoRisposta.xsd"/>
	<xs:include schemaLocation="../RevocaMedicoRisposta.xsd"/>
	<xs:include schemaLocation="../CertificazioneComunaleRisposta.xsd"/>
	<xs:element name="EventoRevocaMedicoRisposta">
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="EventoGiadaRisposta">
					<xs:sequence>
						<xs:element ref="AnagrafeAssistibileRisposta"/>
						<xs:element ref="DatiSanitariAssistibileRisposta"/>
						<xs:element ref="IndirizzoAssistibileRisposta"/>
						<xs:element ref="SceltaMedicoRisposta"/>
						<xs:element ref="MedicoRisposta"/>
						<xs:element ref="RevocaMedicoRisposta"/>
						<xs:element ref="CertificazioneComunaleRisposta" minOccurs="0"/>
					</xs:sequence>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
</xs:schema>

-------------------------------
* XSD RispostaEventoGiada.xsd *
-------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="../DatiGeneraliEventoRisposta.xsd"/>
	<xs:complexType name="EventoGiadaRisposta" abstract="true">
		<xs:annotation>
			<xs:documentation>Elemento astratto identificativo dell'evento</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="DatiGeneraliRisposta"/>
		</xs:sequence>
		<xs:attribute name="IDUniversaleSIL" type="xs:string" use="required">
			<xs:annotation>
				<xs:documentation>ID universale attribuito allevento da parte del SIL mittente</xs:documentation>
			</xs:annotation>
		</xs:attribute>
		<xs:attribute name="IDUniversaleNAL" type="xs:string" use="optional">
			<xs:annotation>
				<xs:documentation>ID universale attribuito allevento. Viene generato automaticamente sul NAL</xs:documentation>
			</xs:annotation>
		</xs:attribute>
	</xs:complexType>
</xs:schema>

--------------------------------------
* XSD DatiGeneraliEventoRisposta.xsd *
--------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="DatiGeneraliRisposta">
		<xs:annotation>
			<xs:documentation>Contieni i dati generali dell'evento</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="TipoFlag"/>
				<xs:element ref="CertificazioneComunaleFlag"/>
				<xs:element ref="USLInvianteFlag"/>
				<xs:element ref="TimeStampSIL"/>
				<xs:element ref="FlagEsecuzione"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="TipoFlag" type="defaultErrorType">
		<xs:annotation>
			<xs:documentation>Indica la tipologia di evento</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="USLInvianteFlag" type="defaultErrorType">
		<xs:annotation>
			<xs:documentation>Codice della USL che pubblica levento</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="TimeStampSIL" type="TimeStamp">
		<xs:annotation>
			<xs:documentation>Data e ora di generazione dellevento nel Sistema Informativo Locale dellASL</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:complexType name="TimeStamp">
		<xs:annotation>
			<xs:documentation>Elemento TimeStamp Generico</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element ref="DataFlag"/>
			<xs:element ref="OraFlag"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="DataFlag" type="defaultErrorType" nillable="false">
		<xs:annotation>
			<xs:documentation>Elemento generico data</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="OraFlag" type="defaultErrorType" nillable="false">
		<xs:annotation>
			<xs:documentation>Elemento Generico Ora</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="FlagEsecuzione" type="mainErrorType" nillable="false">
		<xs:annotation>
			<xs:documentation>Elemento in cui viene riportato lo stato della validazione</xs:documentation>
		</xs:annotation>
	</xs:element>
	<xs:element name="CertificazioneComunaleFlag" type="defaultErrorType">
		<xs:annotation>
			<xs:documentation>Indica la presenza di atto comunale che certifica i dati dellevento</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

---------------------------------------
* XSD AnagrafeAssistibileRisposta.xsd *
---------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="AnagrafeAssistibileRisposta">
		<xs:annotation>
			<xs:documentation>Elemento root dei flag di errore dell'anagrafe dell'assistito</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="NomeFlag"/>
				<xs:element ref="CognomeFlag"/>
				<xs:element ref="DatiNascita"/>
				<xs:element ref="CittadinanzaFlag"/>
				<xs:element ref="SessoFlag"/>
				<xs:element ref="CodiceFiscaleFlag"/>
				<xs:element ref="ValiditaCodiceFiscaleFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="NomeFlag" type="defaultErrorType"/>
	<xs:element name="CognomeFlag" type="defaultErrorType"/>
	<xs:element name="DatiNascita">
		<xs:annotation>
			<xs:documentation>Dati di nascita dell'assistibile</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="ComuneFlag"/>
				<xs:element ref="StatoFlag"/>
				<xs:element ref="DataNascitaFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="ComuneFlag" type="defaultErrorType"/>
	<xs:element name="StatoFlag" type="defaultErrorType"/>
	<xs:element name="CittadinanzaFlag" type="defaultErrorType"/>
	<xs:element name="DataNascitaFlag" type="defaultErrorType"/>
	<xs:element name="SessoFlag" type="defaultErrorType"/>
	<xs:element name="CodiceFiscaleFlag" type="defaultErrorType"/>
	<xs:element name="ValiditaCodiceFiscaleFlag" type="defaultErrorType">
		<xs:annotation>
			<xs:documentation>Flag di validita' del codice fiscale derivato dall'Agenzia delle Entrate</xs:documentation>
		</xs:annotation>
	</xs:element>
</xs:schema>

-------------------------------------------
* XSD DatiSanitariAssistibileRisposta.xsd *
-------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 U (http://www.xmlspy.com) by Mike (Tyson) -->
<xs:schema targetNamespace="http://sanita.it/giada" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="DatiSanitariAssistibileRisposta">
		<xs:annotation>
			<xs:documentation>Elemento root dati sanitari dell'assistibile</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="CodAziendaleFlag"/>
				<xs:element ref="UslResidenzaFlag"/>
				<xs:element ref="CodiceSanitario"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="CodAziendaleFlag" type="defaultErrorType"/>
	<xs:element name="UslResidenzaFlag" type="defaultErrorType"/>
	<xs:element name="CodiceSanitario">
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="NumeroFlag"/>
				<xs:element ref="DecorrenzaFlag"/>
				<xs:element ref="ScadenzaFlag"/>
				<xs:element ref="CessazioneFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="NumeroFlag" type="defaultErrorType"/>
	<xs:element name="DecorrenzaFlag" type="defaultErrorType"/>
	<xs:element name="ScadenzaFlag" type="defaultErrorType"/>
	<xs:element name="CessazioneFlag" type="defaultErrorType"/>
</xs:schema>

----------------------------------------
* XSD IndirizzoAssistibileRisposta.xsd *
----------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="IndirizzoAssistibileRisposta">
		<xs:annotation>
			<xs:documentation>Elemento root dell'indirizzo dell'assistibile. I dati relativi allindirizzo di residenza e di domicilio dellassistibile costituiscono un blocco che viene indicato in tutti gli eventi GIADA.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="RegioneResidenzaFlag"/>
				<xs:element ref="ComuneResidenzaFlag"/>
				<xs:element ref="IndirizzoResidenzaFlag"/>
				<xs:element ref="ComuneDomicilioFlag"/>
				<xs:element ref="IndirizzoDomicilioFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="RegioneResidenzaFlag" type="defaultErrorType"/>
	<xs:element name="ComuneResidenzaFlag" type="defaultErrorType"/>
	<xs:element name="IndirizzoResidenzaFlag" type="defaultErrorType"/>
	<xs:element name="ComuneDomicilioFlag" type="defaultErrorType"/>
	<xs:element name="IndirizzoDomicilioFlag" type="defaultErrorType"/>
</xs:schema>

--------------------------------
* XSD SceltaMedicoRisposta.xsd *
--------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="SceltaMedicoRisposta">
		<xs:annotation>
			<xs:documentation>Elemento root dei dati relativi alla scelta del medico.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="DataSceltaFlag"/>
				<xs:element ref="DataDecorrenzaFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="DataSceltaFlag" type="defaultErrorType"/>
	<xs:element name="DataDecorrenzaFlag" type="defaultErrorType"/>
</xs:schema>

--------------------------
* XSD MedicoRisposta.xsd *
--------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="MedicoRisposta">
		<xs:annotation>
			<xs:documentation>Elemento root dei dati relativi al medico vengono forniti contestualmente ad alcune tipologie di evento GIADA</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="TipologiaFlag"/>
				<xs:element ref="CodRegionaleFlag"/>
				<xs:element ref="CodFiscaleFlag"/>
				<xs:element ref="RegioneFlag"/>
				<xs:element ref="UslMedicoFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="TipologiaFlag" type="defaultErrorType"/>
	<xs:element name="CodRegionaleFlag" type="defaultErrorType"/>
	<xs:element name="CodFiscaleFlag" type="defaultErrorType"/>
	<xs:element name="RegioneFlag" type="defaultErrorType"/>
	<xs:element name="UslMedicoFlag" type="defaultErrorType"/>
</xs:schema>

------------------------------------------
* XSD CertificazioneComunaleRisposta.xsd *
------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="CertificazioneComunaleRisposta">
		<xs:annotation>
			<xs:documentation>Elemento root dei dati relativi allatto comunale ricevuto dalla ASL.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="CodiceComuneFlag"/>
				<xs:element ref="TipoEventoComunaleFlag"/>
				<xs:element ref="NumeroProtocolloFlag"/>
				<xs:element ref="DataProtocolloFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="CodiceComuneFlag" type="defaultErrorType"/>
	<xs:element name="TipoEventoComunaleFlag" type="defaultErrorType"/>
	<xs:element name="NumeroProtocolloFlag" type="defaultErrorType"/>
	<xs:element name="DataProtocolloFlag" type="defaultErrorType"/>
</xs:schema>

--------------------------------
* XSD RevocaMedicoRisposta.xsd *
--------------------------------

<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v2004 rel. 4 U (http://www.xmlspy.com) by plutino (plutinia inc.) -->
<xs:schema targetNamespace="http://sanita.it/giada" elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns="http://sanita.it/giada" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:include schemaLocation="TypeGiada.xsd"/>
	<xs:element name="RevocaMedicoRisposta">
		<xs:annotation>
			<xs:documentation>Elemento root dei dati relativi alla revoca da parte di un medico del proprio assistito.</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:sequence>
				<xs:element ref="DataRevocaFlag"/>
				<xs:element ref="CausaRevocaFlag"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
	<xs:element name="DataRevocaFlag" type="defaultErrorType"/>
	<xs:element name="CausaRevocaFlag" type="defaultErrorType"/>
</xs:schema>





4. Prodotti attesi
==================

Per realizzare l'applicazione client vengono forniti i seguenti  WSDL (scaricabile anche dal NAL di riferimento):

--------------------------
* WSDL RevocaMedico.wsdl *
--------------------------

<wsdl:definitions targetNamespace="http://sanita.it/giada">
	<wsdl:types>
		<schema targetNamespace="http://adapter.giada.sis.eng.it">
			<element name="inviaRevocaMedico" type="xsd:anyType" />
		</schema>
		<schema targetNamespace="http://sanita.it/giada">
			<element name="inviaRevocaMedicoReturn" type="xsd:anyType" />
		</schema>
	</wsdl:types>
	<wsdl:message name="inviaRevocaMedicoResponse">
		<wsdl:part element="impl:inviaRevocaMedicoReturn"
			name="inviaRevocaMedicoReturn" />
	</wsdl:message>
	<wsdl:message name="inviaRevocaMedicoRequest">
		<wsdl:part element="tns1:inviaRevocaMedico" name="part" />
	</wsdl:message>
	<wsdl:portType name="RevocaMedicoAdapter">
		<wsdl:operation name="inviaRevocaMedico">
			<wsdl:input message="impl:inviaRevocaMedicoRequest"
				name="inviaRevocaMedicoRequest" />
			<wsdl:output message="impl:inviaRevocaMedicoResponse"
				name="inviaRevocaMedicoResponse" />
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="RevocaMedicoSoapBinding"
		type="impl:RevocaMedicoAdapter">
		<wsdlsoap:binding style="document"
			transport="http://schemas.xmlsoap.org/soap/http" />
		<wsdl:operation name="inviaRevocaMedico">
			<wsdlsoap:operation soapAction="" />
			<wsdl:input name="inviaRevocaMedicoRequest">
				<wsdlsoap:body
					namespace="http://adapter.giada.sis.eng.it" use="literal" />
			</wsdl:input>
			<wsdl:output name="inviaRevocaMedicoResponse">
				<wsdlsoap:body namespace="http://sanita.it/giada"
					use="literal" />
			</wsdl:output>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="RevocaMedicoAdapterService">
		<wsdl:port binding="impl:RevocaMedicoSoapBinding"
			name="RevocaMedico">
			<wsdlsoap:address
				location="https://URL-NAL-RIFERIMENTO:PORT-NAL-RIFERIMENTO/giada/services/RevocaMedico" />
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>

Da notare che la comunicazione avviene su protocollo sicuro (https), per questo  necessario un certificato elettronico rilasciato da Regione Toscana.

L'applicazione cliente, una volta creato il client, partendo del WSDL, deve fornire come payload del messaggio l'XML come definito dalla grammatica, definita in questo documento.
Qui di seguito si riporta un esempio di un messaggio XML valido.

--------------------------
* ESEMPIO RevocaMedico   *
--------------------------

<?xml version="1.0" encoding="UTF-8"?>
<EventoRevocaMedico IDUniversaleNAL="789456" IDUniversaleSIL="123456">
	<DatiGenerali>
		<Tipo>0005</Tipo>
		<FlagCertificazioneComunale>S</FlagCertificazioneComunale>
		<USLInviante>103</USLInviante>
		<TimeStampNAL>
			<Data>2004-10-02</Data>
			<Ora>18:30:00</Ora>
		</TimeStampNAL>
		<TimeStampSIL>
			<Data>2004-10-01</Data>
			<Ora>17:31:35</Ora>
		</TimeStampSIL>
	</DatiGenerali>
	<AnagrafeAssistibile>
		<Nome>ALESSIO</Nome>
		<Cognome>PAPI</Cognome>
		<DatiNascita>
			<Comune>047014</Comune>
			<Stato>100</Stato>
			<DataNascita>06041975</DataNascita>
		</DatiNascita>
		<Cittadinanza>100</Cittadinanza>
		<Sesso>1</Sesso>
		<CodiceFiscale>AAABBB11D22A999A</CodiceFiscale>
		<ValiditaCodiceFiscale>1</ValiditaCodiceFiscale>
	</AnagrafeAssistibile>
	<DatiSanitariAssistibile>
		<CodAziendale>123ABC</CodAziendale>
		<UslResidenza>103</UslResidenza>
		<CodiceSanitario>
			<Numero>1234567890A</Numero>
			<Decorrenza>27092004</Decorrenza>
			<Scadenza>01102004</Scadenza>
			<Cessazione>01122004</Cessazione>
		</CodiceSanitario>
	</DatiSanitariAssistibile>
	<IndirizzoAssistibile>
		<RegioneResidenza>090</RegioneResidenza>
		<ComuneResidenza>047017</ComuneResidenza>
		<IndirizzoResidenza>VIA STATALE N 999</IndirizzoResidenza>
		<ComuneDomicilio>047017</ComuneDomicilio>
		<IndirizzoDomicilio>VIA STATALE N 999</IndirizzoDomicilio>
	</IndirizzoAssistibile>
	<SceltaMedico>
		<DataScelta>01102004</DataScelta>
		<DataDecorrenza>02102004</DataDecorrenza>
	</SceltaMedico>
	<Medico>
		<Tipologia>01</Tipologia>
		<CodRegionale>ABC123</CodRegionale>
		<CodFiscale>AAABBB11D22A999A</CodFiscale>
		<Regione>090</Regione>
		<UslMedico>103</UslMedico>
	</Medico>
	<RevocaMedico>
		<DataRevoca>01102004</DataRevoca>
		<CausaRevoca>2</CausaRevoca>
	</RevocaMedico>
</EventoRevocaMedico>



5. Bibliografia
===============
[1] Web Services Description Language (WSDL) 1.1 http://www.w3.org/TR/wsdl
[2] XML Schema http://www.w3.org/XML/Schema
[3] Latest SOAP versions http://www.w3.org/TR/soap/
[4] Apache Axis http://ws.apache.org/axis/